package com.project.service;

import com.project.bean.CutPageBean;
import com.project.bean.GoodsBean;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;

public interface IGoodsService {
    /**
     * 添加商品
     * @param goodsBean 商品对象
     */
    public void add(GoodsBean goodsBean);

    /***
     * 按id删除商品
     * @param id 商品id
     */
    public void del(int id);

    /**
     * 按id修改价格
     * @param id 商品id
     * @param price 价格
     */
    public void update(int id,int price);

    /**
     * 按id查询商品
     * @param id 商品id
     * @return 商品对象
     */
    public GoodsBean findById(int id);

    /**
     * 按商品名、价格范围 动态条件分页查询商品
     * @param pageNo 页码
     * @param name 商品名
     * @param minPrice 最低价格
     * @param maxPrice 最高价格
     * @return 分页对象
     */
    public CutPageBean<GoodsBean> cutByPrice(int pageNo,
           String name, int minPrice,int maxPrice);

    /**
     * 按厂家、生产日期时间段，动态条件分页查询商品
     * @param pageNo 页码
     * @param factory 厂家
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 分页对象
     */
    public CutPageBean<GoodsBean> cutByDate(int pageNo,String factory,
            LocalDate startDate,LocalDate endDate);
}
